from cx_Freeze import setup, Executable

# 指定可执行文件
executables = [
    Executable("qt_name.py", base="Win32GUI", icon="res/bg.ico"),  # 指定主脚本和图标文件
]

# 指定包含的文件
include_files = [
    # 包含额外的资源文件
    ("res/bg.ico", "res"),  # 第一个参数是文件路径，第二个参数是目标文件夹
    # 添加所有需要包含的资源文件或目录
]

setup(
    name="JasonApp",
    version="1.0",
    description="Your App Description",
    options={
        "build_exe": {
            "packages": ["PyQt5", "pyttsx3"],  # 包含所有 PyQt5 相关的包
            "excludes": ["PyQt5.sip"],  # 排除 sip 文件，因为 sip 文件不是必要的
            "includes": ["PyQt5.QtCore", "PyQt5.QtGui", "PyQt5.QtWidgets"],  # 显式包含特定的模块
            "include_files": include_files  # 包含额外的文件和目录
        },
    },
    executables=executables
)